// check that a valid program using assertions compiles and runs
//   ensure an axiom with a failing predicate doesn't prevent a successful run
//   (axiom level contracts are never checked at runtime)
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-role=custom:never,ignore,ignore" }
// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }

int main()
{
  int x = 1;
  [[assert axiom: x < 0]];
  [[assert %custom: x > 0]];
  [[assert audit %custom: x < 0]];
  return 0;
}

